//
//  main.m
//  Homework-04
//
//  Created by 岁变 on 16/7/7.
//  Copyright © 2016年 岁变. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Color.h"

int main(int argc, const char * argv[]) {

//    处理⽂件crayons.txt中的⽂本信息，⽂本内容是关于颜⾊的，每⾏都是⼀ 个颜⾊的信息，例如：Almond #EED9C4，前⼀个字符串是颜⾊的名称，后⼀ 个字符串是颜⾊的16进制⾊值，处理⽂本完成如下需求:
    
    //使⽤字典管理所有的颜⾊，即字典中存储的是多个键值对，颜⾊名称为 key，16进制颜⾊值（不带#）是value。
    //使⽤⼀个新的字典管理颜⾊，对颜⾊进⾏分类管理，即：“A”，“B”，“C”… 即这个字典包含多个键值对，key是26个字⺟，value是数组，数组⾥存放的是 Color对象（包含name和colorValue）。需要⾃⼰创建Color类。
    
    NSString *sourceStr = [NSString stringWithContentsOfFile:@"/Users/Aim/Desktop/Homework-04/crayons.txt" encoding:NSUTF8StringEncoding error:nil];
    NSMutableArray *lines = [sourceStr componentsSeparatedByString:@"\n"].mutableCopy;
    [lines removeLastObject];
    
    NSMutableDictionary *mDic = [NSMutableDictionary dictionary];
    for (NSString *str in lines) {
        NSArray *arr = [str componentsSeparatedByString:@"#"];
        [mDic setObject:[arr lastObject] forKey:[arr firstObject]];
    }
    NSLog(@"%@", mDic);
    
    
    NSMutableDictionary *newDic = [NSMutableDictionary dictionary];
    for (NSString *str in lines) {
        NSArray *arr = [str componentsSeparatedByString:@"#"];
        Color *color = [Color colorWithName:[arr firstObject] value:[arr lastObject]];
        NSString *group = [color.name substringToIndex:1];
        NSMutableArray *marr = [newDic objectForKey:group];
        if (marr == nil) {
            NSMutableArray *arr = [NSMutableArray array];
            [arr addObject:color];
            [newDic setObject:arr forKey:group];
        } else {
            [marr addObject:color];
        }
    }
    NSLog(@"%@", newDic);
    
    

    
    return 0;
}
